Internet Protocol (IP) has been widely used as an OSI (Open Systems Interconnection) network layer protocol in packet switched networks such as Internet for years. The most commonly used version of IP has traditionally been Version 4 (IPv4). A recently developed version, Version 6 (IPv6), is however also beginning to be supported. IPv6 includes the capabilities of TPv4 but provides also additional features. The most obvious improvement in IPv6 over IPv4 is that IP addresses are lengthened from 32 bits to 128 bits, thus providing for significantly larger amount of network addresses. In the following, IP will be used to refer to IPv6 unless otherwise specified.
Mobile IP is an extension to IP aimed to provide mobility support for IP. Using Mobile IP it is possible for a terminal device to move from one link to another without changing its IP address (as seen by the layers above IP) and yet be reachable by other terminal devices. Mobile IP is being developed by IETF (Internet Engineering Task Force) and full specifications may be obtained e.g. from http://www.ietf.org. In the following Mobile IP will be used to refer to Mobile IP support for IPv6 (Mobile IPv6) unless otherwise specified.
In the following terminology related to Mobile IP used in the rest of this document will be described. A node refers to a device that implements IP. A router refers to a node that forwards IP packets not explicitly addressed to itself. A link refers to a communication facility or medium over which nodes can communicate at the OSI link layer. An interface refers to a node's attachment to a link. A subnet prefix refers to a bit string consisting of a number of initial bits of an IP address. A packet refers to an IP packet comprising one or more headers and payload. A header comprises one or more fields. A flag refers to a field of one bit length. Thus a flag may have one of two values, either 1 or 0. One of these values is predetermined to be such that when a flag has that value, the flag is considered to be set, often this value is 1. A unit of data used to deliver information related to the protocols used is referred to as a message. Depending on its length a Mobile IP message may be transmitted in one IP packet or it may be divided in parts and the parts may be transmitted in separate IP packets.
A Home Address refers to an IP address assigned to a Mobile Node and used as the permanent or semi-permanent address of the Mobile Node. A Home Subnet Prefix refers to the IP subnet prefix corresponding to a Mobile Node's Home Address. A Home Link refers to the link on which a Mobile Node's Home Subnet Prefix is defined. Any link other than a Mobile Node's Home Link is referred to as a Foreign Link. Any IP subnet prefix other than a Mobile Node's Home Subnet Prefix is referred to as a Foreign Subnet Prefix. A Mobile Node refers to a node that can change its point of attachment from one link to another, while still being reachable via its Home Address. Movement refers to a change in a Mobile Node's point of attachment to an IP network such that it is no longer connected to the same link as it was previously. If a Mobile Node is not currently attached to its Home Link, the Mobile Node is said to be “away from home”.
A Correspondent Node refers to a peer node with which a Mobile Node is communicating. The Correspondent Node may itself be either mobile or stationary. A Care-of Address refers to an IP address associated with a Mobile Node while visiting a Foreign Link. The subnet prefix of this IP address is thus a Foreign Subnet Prefix. A Mobile Node may have multiple Care-Of Addresses at any given time but only one may be registered at the Home Agent. A Home Agent refers to a router on a Mobile Node's Home Link with which the Mobile Node has registered its current Care-Of Address.
Binding refers to the association of the Home Address of a Mobile Node with a Care-of Address for that Mobile Node. A Binding Update message is used by a Mobile Node to notify Home Agent and possibly also other nodes of a new Care-of Address for itself. The format of a Binding Update message is disclosed in FIG. 1b. The Binding Update message comprises an Acknowledge flag (A) set by a sending Mobile Node to request a Binding Acknowledgement message to be returned upon receipt of the Binding Update message. A Home Registration flag (H) is set by a sending Mobile Node to request that the receiving node should act as a Home Agent for this node. The other flags are Single Address Only (S), Duplicate Address Detection (D) and Link-Local Address Compatibility (L). The rest of the fields disclosed in FIG. 1b are Sequence number, Lifetime and Mobility Options. Reserved in FIG. 1b refers to fields that are reserved for future use.
A Binding Acknowledgement message is used to acknowledge receipt of a Binding Update message. The format of a Binding Acknowledgement message is disclosed in FIG. 1c. Reserved in FIG. 1c refers to fields that are yet unused. Status is used to indicate the disposition of the Binding Update. The rest of the fields disclosed in FIG. 1c are Sequence number, Lifetime and Mobility Options.
Mobile IPv6 defines several optional headers that may not be needed in every Mobile IPv6 message. One of these is Home Address Destination Option. Routers may employ a filtering mechanism referred to as ingress filtering e.g. to provide protection against Denial-of-Service-attacks. In order to avoid packets being ingress filtered a Mobile Node uses its Care-Of Address as the IP Source Address when sending packets to Correspondent Nodes. The Home Address Destination Option is used to keep this use of Care-Of Address transparent from higher layers of the Correspondent Nodes. When a Correspondent Node receives a packet which includes the Home Address Destination Option, the Correspondent Node replaces the Care-Of Address in the IP Source Address field of the main IPv6 header with the Home Address contained in the Home Address Destination Option header before forwarding the packet to the higher layers. The format of a Home Address Destination Option header is disclosed in FIG. 1a. Option Type is used to identify the destination option as Home Address Destination Option. Option Length indicates the length of the option excluding the Option Type and Option Length fields. Home Address field comprises the Home Address of the Mobile Node sending the packet.
However, there are some problems related to the use of Home Address Destination Option in Mobile IP. Specifically, as previously described, each packet sent by a Mobile Node must include a 20 byte Home Address Destination Option header comprising a 16 byte or 128 bit IPv6 Home Address of the Mobile Node. For real time communication, e.g. conversational traffic, which typically is characterized by small (typically 30 bytes payload) and frequent (e.g. 50 packets/second) packets, the amount of overhead is considerable.
Packets sent from a Corresponding Node to a Mobile Node carry the Care-Of Address of the Mobile Node in a Destination Address field of the IPv6 header. Additionally Mobile IPv6 uses a 24 byte Routing Header to carry the Home Address of the Mobile Node in every packet. This enables the Mobile Node to replace the Care-Of Address of the Mobile Node in the IPv6 header with the Home Address in the Routing Header before handing the packet over to the layers above IP. These higher layers are therefore only aware of the static Home Address of the Mobile Node. If the Correspondent Node is also a Mobile Node using Mobile IPv6, then each packet between the two nodes needs to have both a Routing Header and a Home Address Destination Option. This translates to a 44 byte overhead to every packet between the two nodes. Assuming that the predominant form of traffic between two Mobile Nodes will be conversational voice traffic (30 bytes payload+60 bytes of RTP/UDP/IPv6 headers), then Mobile IPv6 causes an overhead of approximately 50%.
Thus there is an obvious need for a solution providing optimization of transport efficiency between a Mobile Node and a Correspondent Node in a Mobile IP network.